package leetcode_day._2022._202209._1120;

/**
 * 1608. 特殊数组的特征值
 * 算法：计数 + 模拟
 * 统计 nums 中数字的个数, 从大到小遍历, 如果当前值和数量一样, 则是答案
 *
 * @author yzh
 * @version 1.0
 * @date 2022/9/14 21:46
 */
public class _12 {

    public int specialArray(int[] nums) {
        int[] cnt = new int[1010];
        for (int num : nums) ++cnt[num];
        for (int i = 1009, tot = 0; i >= 1; i--) {
            tot += cnt[i];
            if (i == tot) return i;
        }
        return -1;
    }

}
